package thread;
class MyRunnable implements Runnable{//Runnable的作用是描述了一个”任务“，这个任务和具体的执行机制无关
    public void run(){
        while(true){
            System.out.println("hello thread");
            try{
                Thread.sleep(1000);//只能使用try catch，不能使用throws
            }catch(InterruptedException e){
                e.printStackTrace();
            }
        }
    }
}//通过Runnable记录任务是啥（为了解耦合）
public class Demo2 {
    public static void main(String[] args) {
        Thread t = new Thread(new MyRunnable());
        t.start();
        while(true){
            System.out.println("hello main");
            try{//其他线程只能使用try catch不能使用throws因为方法签名不允许抛出异常（父类和子类一致）
                Thread.sleep(1000);//既可以使用throws，也可以使用try catch
            }catch(InterruptedException e){
                e.printStackTrace();
            }
        }
    }
}
